package 矩阵;

/**
 * @author: TTDB
 * @create: 2025/9/15
 */
public class rotate {
    public void rotate(int[][] matrix) {
        //旋转矩阵----旋转矩阵45度--技巧：先把二维矩阵沿对角线反转，然后反转矩阵的每一行，结果就是顺时针反转整个矩阵。
        for(int i = 0; i < matrix.length; i++){
            for(int j = i; j < matrix[0].length; j++){
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }
        for(int i = 0; i < matrix.length; i++){
            reverse(matrix[i], 0, matrix[0].length - 1);
        }
    }
    private void reverse(int[] nums, int i, int j) {
        while (i < j) {
            int temp = nums[i];
            nums[i++] = nums[j];
            nums[j--] = temp;
        }
    }
}
